<?php

/**
 * @filename async.php 
 * @encoding UTF-8 
 * @author  fwz 
 * @datetime 2018-6-8  15:26:56
  */

/**
 * $event
 * connect :当建立链接的时候($serv:服务器信心，$fd:客户端信息) 
 * receive：当接受到数据时（$serv:服务器信心，$fd:客户端信息,$form_id:id,$data:数据）;
 * close:关闭链接时
 * 
 */


//创建一个 tcp 服务
$serv = new swoole_server('0.0.0.0',9506);

//设置异步的进程工作数
$serv->set(array('worker_num'=>4));

//投递异步步任务
$serv->on("receive",function($serv,$fd,$form_id,$data){
    $task_id = $serv->task($data);
    echo "id:".$task_id."\n";
});

//处理异步任务
$serv->on("task",function($serv,$task_id,$form_id,$data){
    echo "do id :".$task_id."\n";
    
    $serv->finish("$data - > ok");
});

//处理结果
$serv->on("finish",function($serv,$task_id,$data){
    echo "do ok \n";
});

$serv->start();


